home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 June
/
EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso
/
earcd
/
comm2
/
mmnnnc15.lha
/
MM_Annonce15
/
REXX
/
MM_Annonce.rexx
next >
Wrap
OS/2 REXX Batch file
|
1996-04-20
|
4KB
|
168 lines
/*
** $VER: MM_Annonce.rexx V1.5 (16.4.1996)
**
** Written by Reinaldo Erdey
**
*/
Options Results
/* ---------------------------------------------------------------------- */
/* Ist Host vorhanden ? */
if ~show(p,"MAILMANAGER") then
do
Say
Say 'Warning: MailManager is not present'
Say
Exit
end
/* ---------------------------------------------------------------------- */
/* Variablen Init */
Address 'MAILMANAGER'
MM_GetSysop Sysop
MM_GetAddrs Domain
LineLaeng = 80
FileNamelaeng = 13
Sizelaeng = 9
MaxPost = 100
LogArea = 'MAIL:Ticks/'
MSG.FILE = 'T:Annonce.tmp'
Gefunden = 'NEIN'
MM_GetSysop Sysop
MM_GetAddrs Domain
MM.Area = 'PLAYFIELD.ANNOUNCE'
MM.PrgName = 'Annonce 1.5'
MSG.FROM = Sysop
MSG.FROMADDR = Domain.0
MSG.TO = 'All'
MSG.TOADDR = ''
MSG.SUBJ = 'NEWFILES'
MSG.FLAGS = 'PVT'
MSG.TEAR = MM.PrgName
SAS1 = 0
SAS2 = 0
SAS3 = 0
MAIN:
MM_GetTickAreas TArea
If TArea.count ~= 0 then do
Call CheckOfLogs
End
If Gefunden = 'JA' then do
TextTmp = TextTmp||d2c(10)||' Total files listed: 'SAS3' ('SAS2' Bytes)'||d2c(10)
TextTmp = TextTmp||d2c(10)
TextTmp = TextTmp||d2c(10)
MM_AddToStem tmp.TEXT 'TextTmp'
MM_WriteStem MSG.FILE Tmp.TEXT
MM_Export MM.Area
Call WriteMsg
End
Exit
/* ---------------------------------------------------------------------- */
CheckOfLogs:
TextTmp = 'Hi Leute !!'||d2c(10)||d2c(10)
TextTmp = TextTmp||'Neue Files sind eingetroffen:'||d2c(10)
TextTmp = TextTmp||'-----------------------------'||d2c(10)
Cont = 0
DO b = 0 FOR TArea.count
Call MakeMsg
TArea.count = TArea.b
Cont = Cont + 1
END
Return
/* ---------------------------------------------------------------------- */
MakeMsg:
If ~exists(LogArea||TArea.b||".log") then do
Return
End
MM_GetTickAreaInfo TArea.b AreaInfo
TextTmp = TextTmp||d2c(10)'AREA: 'TArea.b' - 'AreaInfo.DESC||d2c(10)
TextTmp = TextTmp||left('',(Length('AREA: 'TArea.b' - 'AreaInfo.DESC)),'-')||d2c(10)||d2c(10)
Gefunden = 'JA'
MM_ReadStem (LogArea||TArea.b||".log") LogMsg
IF LogMsg.count >0 THEN DO
MM_SortStem LogMsg
Cont = 0
DO c = 0 FOR LogMsg.count
Parse VAR LogMsg.c FileName FileSizes Comment
Comment = Strip(Comment)
if Length(FileName) >FileNamelaeng then do
FileName = substr(FileName,1,12.'')||'*'
End
if Length(Comment) >LineLaeng-(FileNamelaeng+Sizelaeng+1) then do
Call SplitComment
End
TextTmp = TextTmp||left(FileName,FileNamelaeng,' ')||right(FileSizes,Sizelaeng,' ')||' '||Comment||d2c(10)
LogMsg.count = LogMsg.c
Cont = Cont + 1
SAS1 = SAS1+FileSizes
END
LogMsg.count = Cont
END
TextTmp = TextTmp||d2c(10)||' 'c' file(s) with 'SAS1' bytes in this area'||d2c(10)
SAS2 = SAS2+SAS1
SAS1 = 0
SAS3 = SAS3+c
MM_DeleteFile (LogArea||TArea.b||".log")
RETURN
/* ---------------------------------------------------------------------- */
SplitComment:
SplitCom = Comment
Comment = ''
do x = 1 FOR MaxPost
DO z = 1 FOR Words(SplitCom)
If Length(Delword(SplitCom,z,(Words(SplitCom)+1))) <LineLaeng-(FileNamelaeng+Sizelaeng+1) Then do
z1 = Length(Delword(SplitCom,z,Words(SplitCom)))
z2 = Length(SplitCom)-z1
ComTmp = Strip(left(SplitCom,z1,''))
ComTmpA = Strip(right(SplitCom,z2,''))
End
End
if x = 1 then Comment = ComTmp||d2c(10)
if x >1 then Comment = Comment||right('',(FileNamelaeng+Sizelaeng+1),' ')||ComTmp||d2c(10)
if Length(ComTmpA)<LineLaeng-(FileNamelaeng+Sizelaeng+1) Then do
Comment = Comment||right('',(FileNamelaeng+Sizelaeng+1),' ')||ComTmpA
Leave
End
SplitCom = ComTmpA
End
Return
/* ---------------------------------------------------------------------- */
WriteMsg:
If ~exists(MSG.FILE) then do
Return
End
MM_WriteMsg MM.Area 'MSG'
MM_DeleteFile MSG.FILE
Return
/* ---------------------------------------------------------------------- */